লারাভেল ত্রুটি পরিচালনা একটি শক্তিশালী ব্যবস্থা যা ডেভেলপারদের ত্রুটি এবং ব্যতিক্রমগুলি সহজে পরিচালনা করতে সাহায্য করে। এটি উন্নয়ন প্রক্রিয়ায় আরও স্পষ্টতা এবং সুবিধা নিয়ে আসে।
ত্রুটি পরিচালনার জন্য লারাভেলের কনফিগারেশন ফাইল config/app.php
এ পাওয়া যায়। এখানে আপনি লগিং এবং ত্রুটি প্রদর্শন কনফিগার করতে পারেন:
'debug' => env('APP_DEBUG', false),
APP_DEBUG
পরিবেশ ভেরিয়েবলে আপনি ডিবাগ মোড চালু বা বন্ধ করতে পারেন।
লারাভেল নিজস্ব Handler
ক্লাসে সব ব্যতিক্রমগুলি পরিচালনা করে। এই ক্লাসটি app/Exceptions/Handler.php
এ অবস্থিত।
public function render($request, Throwable $exception)
{
return parent::render($request, $exception);
}
এখানে আপনি কাস্টম লজিক যুক্ত করতে পারেন।
লারাভেল ব্যতিক্রমগুলি রিপোর্ট করার জন্য report
মেথড ব্যবহার করে।
public function report(Throwable $exception)
{
// কাস্টম রিপোর্টিং লজিক
parent::report($exception);
}
লারাভেল বিভিন্ন লগ স্তরের মাধ্যমে ব্যতিক্রমগুলি রিপোর্ট করে, যেমন:
debug
info
notice
warning
error
critical
alert
emergency
আপনি লগ স্তর নির্ধারণ করে গুরুত্বপূর্ণ ত্রুটিগুলি চিহ্নিত করতে পারেন।
আপনি নির্দিষ্ট ধরনের ব্যতিক্রম উপেক্ষা করতে পারেন, যাতে সেগুলি রিপোর্ট না হয়।
protected $dontReport = [
InvalidArgumentException::class,
];
ব্যতিক্রমগুলি রেন্ডার করার জন্য render
মেথড ব্যবহার করুন। উদাহরণস্বরূপ, 404 ত্রুটির জন্য কাস্টম পৃষ্ঠা রেন্ডার করতে পারেন:
public function render($request, Throwable $exception)
{
if ($exception instanceof ModelNotFoundException) {
return response()->view('errors.404', [], 404);
}
return parent::render($request, $exception);
}
লারাভেলে, ব্যতিক্রমগুলি রিপোর্টযোগ্য এবং রেন্ডারযোগ্য হিসেবে শ্রেণীবদ্ধ করা হয়। রিপোর্টযোগ্য ব্যতিক্রমগুলি সাধারণত লগে সংরক্ষিত হয়, আর রেন্ডারযোগ্য ব্যতিক্রমগুলি ব্যবহারকারীকে দেখানো হয়।
আপনি রিপোর্ট করা ব্যতিক্রমগুলি থ্রটল করতে পারেন, অর্থাৎ একই ত্রুটি বারবার রিপোর্ট হওয়া থেকে বিরত রাখতে পারেন।
protected function shouldReport(Throwable $exception)
{
return !($exception instanceof ThrottlingException);
}
HTTP ব্যতিক্রমগুলি যেমন 404, 500 ইত্যাদি সাধারণত অঙ্গীভূত হয়। আপনি render
মেথডে HTTP ব্যতিক্রমগুলির জন্য কাস্টম লজিক যুক্ত করতে পারেন।
আপনি সহজেই কাস্টম HTTP ত্রুটি পৃষ্ঠা তৈরি করতে পারেন। উদাহরণস্বরূপ, resources/views/errors/404.blade.php
ফাইল তৈরি করে 404 ত্রুটি কাস্টমাইজ করুন:
@extends('layouts.app')
@section('content')
<h1>404 - পৃষ্ঠা পাওয়া যায়নি</h1>
<p>আপনার অনুসন্ধানকৃত পৃষ্ঠা পাওয়া যায়নি।</p>
@endsection
লারাভেল ত্রুটি পরিচালনা একটি শক্তিশালী এবং নমনীয় ব্যবস্থা যা ডেভেলপারদের ত্রুটি এবং ব্যতিক্রমগুলি সহজে পরিচালনা করতে সহায়তা করে। এই ব্যবস্থার মাধ্যমে আপনি আপনার অ্যাপ্লিকেশনকে আরও স্থিতিশীল এবং ব্যবহারকারী-বান্ধব করতে পারেন। আরও কোনও প্রশ্ন থাকলে জানাবেন!